package com.firefly.admin.tripartite.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.firefly.admin.common.vo.Result;
import com.firefly.admin.tripartite.entity.FyTripartiteWechatApplet;
import com.firefly.admin.tripartite.vo.WechatAppletQueryVo;
import com.firefly.admin.tripartite.vo.WechatAppletStatusUpdateVo;

public interface FyTripartiteWechatAppletService {
    /**
     * 分页查询第三方微信小程序接口
     *
     * @param wechatAppletQueryVo 分页查询参数
     * @return 分页列表
     */
    Result<Page<FyTripartiteWechatApplet>> getWechatAppletList(WechatAppletQueryVo wechatAppletQueryVo);

    /**
     * 第三方微信小程序信息新增接口
     *
     * @param fyTripartiteWechatApplet 微信小程序信息
     * @return 操作结果
     */
    Result<FyTripartiteWechatApplet> add(FyTripartiteWechatApplet fyTripartiteWechatApplet);

    /**
     * 第三方微信小程序信息编辑接口
     *
     * @param fyTripartiteWechatApplet 微信小程序信息
     * @return 操作结果
     */
    Result<FyTripartiteWechatApplet> update(FyTripartiteWechatApplet fyTripartiteWechatApplet);

    /**
     * 第三方微信小程序状态编辑接口
     *
     * @param wechatAppletStatusUpdateVo 状态信息
     * @return 操作结果
     */
    Result<FyTripartiteWechatApplet> updateStatus(WechatAppletStatusUpdateVo wechatAppletStatusUpdateVo);

    /**
     * 第三方微信小程序信息删除接口
     *
     * @param appletId 微信小程序ID
     * @return 操作结果
     */
    Result<String> delete(Long appletId);

    /**
     * 第三方微信小程序APPID校验接口
     *
     * @param appId    微信小程序名称
     * @param appletId 微信小程序ID
     * @return 校验结果
     */
    Result<String> appIdCheck(String appId, Long appletId);

    /**
     * 根据微信小程序ID查询微信小程序信息
     *
     * @param appletId 微信小程序ID
     * @return 微信小程序信息
     */
    FyTripartiteWechatApplet findById(Long appletId);
}
